home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 24 / CU Amiga Magazine's Super CD-ROM 24 (1998)(EMAP Images)(GB)(Track 1 of 2)[!][issue 1998-07].iso / CUCD / Utilities / vim-5.1 / src / feature.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-04-06  |  9.8 KB  |  437 lines

  1. /* vi:set ts=8 sts=0 sw=8:
  2.  *
  3.  * VIM - Vi IMproved        by Bram Moolenaar
  4.  *
  5.  * Do ":help uganda"  in Vim to read copying and usage conditions.
  6.  * Do ":help credits" in Vim to see a list of people who contributed.
  7.  */
  8. /*
  9.  * feature.h: Defines for optional code and preferences
  10.  *
  11.  * Edit this file to include/exclude parts of Vim, before compiling.
  12.  * The only other file that may be edited is Makefile, it contains machine
  13.  * specific options.
  14.  *
  15.  * To include specific options, change the "#if*" and "#endif" into comments,
  16.  * or uncomment the "#define".
  17.  * To exclude specific options, change the "#define" into a comment.
  18.  */
  19.  
  20. /*
  21.  * Basic choices:
  22.  * ==============
  23.  *
  24.  * MIN_FEAT        minimal features enabled, as basic as possible (DOS16)
  25.  * MAX_FEAT        maximal features enabled, as rich as possible.
  26.  * default        A selection of features enabled.
  27.  *
  28.  * These executables are made available with MAX_FEAT defined, because they
  29.  * are supposed to have enough RAM: Win32 (console & GUI), dos32 and OS/2.
  30.  * The dos16 version has very little RAM available, use MIN_FEAT.
  31.  */
  32. #if !defined(MIN_FEAT) && !defined(MAX_FEAT)
  33. /* #define MIN_FEAT */
  34. /* #define MAX_FEAT */
  35. # if defined(WIN32) || defined(DJGPP) || defined(OS2)
  36. #  define MAX_FEAT
  37. # else
  38. #  ifdef MSDOS
  39. #   define MIN_FEAT
  40. #  endif
  41. # endif
  42. #endif
  43.  
  44. /*
  45.  * Optional code (see ":help +feature-list")
  46.  * =============
  47.  */
  48.  
  49. /*
  50.  * +digraphs        When DIGRAPHS defined: Include digraph support.
  51.  *            In insert mode and on the command line you will be
  52.  *            able to use digraphs. The CTRL-K command will work.
  53.  */
  54. #ifndef MIN_FEAT
  55. # define DIGRAPHS
  56. #endif
  57.  
  58. /*
  59.  * +langmap        When HAVE_LANGMAP defined: Include support for
  60.  *            'langmap' option.  Only useful when you put your
  61.  *            keyboard in a special language mode, e.g. for typing
  62.  *            greek.
  63.  */
  64. #ifdef MAX_FEAT
  65. # define HAVE_LANGMAP
  66. #endif
  67.  
  68. /*
  69.  * +insert_expand     When INSERT_EXPAND defined: Support for
  70.  *            CTRL-N/CTRL-P/CTRL-X in insert mode. Takes about
  71.  *            4Kbyte of code.
  72.  */
  73. #ifndef MIN_FEAT
  74. # define INSERT_EXPAND
  75. #endif
  76.  
  77. /*
  78.  * +textobjects        When TEXT_OBJECTS defined: Support for text objects:
  79.  *            "vaw", "das", etc.
  80.  */
  81. #ifndef MIN_FEAT
  82. # define TEXT_OBJECTS
  83. #endif
  84.  
  85. /*
  86.  * +showcmd        When SHOWCMD defined: Support for 'showcmd' option.
  87.  */
  88. #ifndef MIN_FEAT
  89. # define SHOWCMD
  90. #endif
  91.  
  92. /*
  93.  * +ex_extra        When EX_EXTRA defined: Support for ":retab", ":right",
  94.  *            ":left", ":center", ":normal".
  95.  */
  96. #ifndef MIN_FEAT
  97. # define EX_EXTRA
  98. #endif
  99.  
  100. /*
  101.  * +extra_search    When EXTRA_SEARCH defined: Support for 'hlsearch' and
  102.  *            'incsearch'.
  103.  */
  104. #ifndef MIN_FEAT
  105. # define EXTRA_SEARCH
  106. #endif
  107.  
  108. /*
  109.  * +quickfix        When QUICKFIX defined: Support for quickfix commands.
  110.  */
  111. #ifndef MIN_FEAT
  112. # define QUICKFIX
  113. #endif
  114.  
  115. /*
  116.  * +file_in_path    When FILE_IN_PATH defined: Support for "gf" and
  117.  *            "<cfile>".
  118.  */
  119. #ifndef MIN_FEAT
  120. # define FILE_IN_PATH
  121. #endif
  122.  
  123. /*
  124.  * +find_in_path    When FIND_IN_PATH defined: Support for "[I" ":isearch"
  125.  *            "^W^I", ":checkpath", etc.
  126.  */
  127. #ifndef MIN_FEAT
  128. # ifdef FILE_IN_PATH    /* FILE_IN_PATH is required */
  129. #  define FIND_IN_PATH
  130. # endif
  131. #endif
  132.  
  133. /*
  134.  * +rightleft        When RIGHTLEFT defined: Right-to-left typing and
  135.  *            Hebrew support.  Takes some code.
  136.  */
  137. #ifdef MAX_FEAT
  138. # define RIGHTLEFT
  139. #endif
  140.  
  141. /*
  142.  * +farsi        When FKMAP defined: Farsi (Persian language) Keymap
  143.  *            support Takes some code.  Needs RIGHTLEFT.
  144.  */
  145. #ifdef MAX_FEAT
  146. # ifndef RIGHTLEFT
  147. #  define RIGHTLEFT
  148. # endif
  149. # define FKMAP
  150. #endif
  151.  
  152. /*
  153.  * +emacs_tags        When EMACS_TAGS defined: Include support for emacs
  154.  *            style TAGS file. Takes some code.
  155.  */
  156. #ifdef MAX_FEAT
  157. # define EMACS_TAGS
  158. #endif
  159.  
  160. /*
  161.  * +tag_binary        When BINARY_TAGS defined: Use a binary search instead
  162.  *            of a linear search when search a tags file.
  163.  */
  164. #ifndef MIN_FEAT
  165. # define BINARY_TAGS
  166. #endif
  167.  
  168. /*
  169.  * +tag_old_static    When OLD_STATIC_TAGS defined: Include support for old
  170.  *            style static tags: "file:tag  file  ..".  Slows down
  171.  *            tag searching a bit.
  172.  */
  173. #ifndef MIN_FEAT
  174. # define OLD_STATIC_TAGS
  175. #endif
  176.  
  177. /*
  178.  * +tag_any_white    When TAG_ANY_WHITE defined: Allow any white space to
  179.  *            separate the fields in a tags file.    When not
  180.  *            defined, only a TAB is allowed.
  181.  */
  182. /* #define TAG_ANY_WHITE */
  183.  
  184. /*
  185.  * +eval        When WANT_EVAL defined: Include built-in script
  186.  *            language and expression evaluation, ":let", ":if",
  187.  *            etc.
  188.  */
  189. #ifndef MIN_FEAT
  190. # define WANT_EVAL
  191. #endif
  192.  
  193. /*
  194.  * +autocmd        When defined: Include support for ":autocmd"
  195.  */
  196. #ifndef MIN_FEAT
  197. # define AUTOCMD
  198. #endif
  199.  
  200. /*
  201.  * +viminfo        When VIMINFO defined: Include support for
  202.  *            reading/writing the viminfo file. Takes about 8Kbyte
  203.  *            of code.
  204.  * VIMINFO_FILE        Location of user .viminfo file (should start with $).
  205.  * VIMINFO_FILE2    Location of alternate user .viminfo file.
  206.  */
  207. #ifndef MIN_FEAT
  208. # define VIMINFO
  209. /* #define VIMINFO_FILE    "$HOME/foo/.viminfo" */
  210. /* #define VIMINFO_FILE2 "~/bar/.viminfo" */
  211. #endif
  212.  
  213. /*
  214.  * +syntax        When SYNTAX_HL defined: Include support for syntax
  215.  *            highlighting.  When using this, it's a good idea to
  216.  *            have AUTOCMD too.
  217.  */
  218. #if !defined(MIN_FEAT) || defined(PROTO)
  219. # define SYNTAX_HL
  220. #endif
  221.  
  222. /*
  223.  * +sniff        When USE_SNIFF defined: Include support for Sniff
  224.  *            interface.  This needs to be defined in the Makefile.
  225.  */
  226.  
  227. /*
  228.  * +builtin_terms    Choose one out of the following four:
  229.  *
  230.  * NO_BUILTIN_TCAPS    When defined: Do not include any builtin termcap
  231.  *            entries (used only with HAVE_TGETENT defined).
  232.  *
  233.  * (nothing)        Machine specific termcap entries will be included.
  234.  *
  235.  * SOME_BUILTIN_TCAPS    When defined: Include most useful builtin termcap
  236.  *            entries (used only with NO_BUILTIN_TCAPS not defined).
  237.  *            This is the default.
  238.  *
  239.  * ALL_BUILTIN_TCAPS    When defined: Include all builtin termcap entries
  240.  *            (used only with NO_BUILTIN_TCAPS not defined).
  241.  */
  242. #ifdef HAVE_TGETENT
  243. /* #define NO_BUILTIN_TCAPS */
  244. #endif
  245.  
  246. #ifndef NO_BUILTIN_TCAPS
  247. # ifdef MAX_FEAT
  248. #  define ALL_BUILTIN_TCAPS
  249. # else
  250. #  define SOME_BUILTIN_TCAPS        /* default */
  251. # endif
  252. #endif
  253.  
  254. /*
  255.  * +lispindent        When LISPINDENT defined: Include lisp indenting (From
  256.  *            Eric Fischer). Doesn't completely work like Vi (yet).
  257.  * +cindent        When CINDENT defined: Include C code indenting (From
  258.  *            Eric Fischer).
  259.  * +smartindent        When SMARTINDENT defined: Do smart C code indenting
  260.  *            when the 'si' option is set. It's not as good as
  261.  *            CINDENT, only included to keep the old code.
  262.  *
  263.  * These two need to be defined when making prototypes.
  264.  */
  265. #if !defined(MIN_FEAT) || defined(PROTO)
  266. # define LISPINDENT
  267. #endif
  268.  
  269. #if !defined(MIN_FEAT) || defined(PROTO)
  270. # define CINDENT
  271. #endif
  272.  
  273. #ifndef MIN_FEAT
  274. # define SMARTINDENT
  275. #endif
  276.  
  277. /*
  278.  * Preferences:
  279.  * ============
  280.  */
  281.  
  282. /*
  283.  * +writebackup        When WRITEBACKUP defined: 'writebackup' is default on:
  284.  *            Use a backup file while overwriting a file.  But it's
  285.  *            deleted again when 'backup' is not set.  Changing this
  286.  *            is strongly discouraged: You can loose all your
  287.  *            changes when the computer crashes while writing the
  288.  *            file.
  289.  */
  290. #ifndef VMS        /* doesn't work on VMS */
  291. # define WRITEBACKUP
  292. #endif
  293.  
  294. /*
  295.  * +xterm_save        When SAVE_XTERM_SCREEN defined: The t_ti and t_te
  296.  *            entries for the builtin xterm will be set to save the
  297.  *            screen when starting Vim and restoring it when
  298.  *            exiting.
  299.  */
  300. /* #define SAVE_XTERM_SCREEN */
  301.  
  302. /*
  303.  * DEBUG        When defined: Output a lot of debugging garbage.
  304.  */
  305. /* #define DEBUG */
  306.  
  307. /*
  308.  * VIMRC_FILE        Name of the .vimrc file in current dir.
  309.  */
  310. /* #define VIMRC_FILE    ".vimrc" */
  311.  
  312. /*
  313.  * EXRC_FILE        Name of the .exrc file in current dir.
  314.  */
  315. /* #define EXRC_FILE    ".exrc" */
  316.  
  317. /*
  318.  * GVIMRC_FILE        Name of the .gvimrc file in current dir.
  319.  */
  320. /* #define GVIMRC_FILE    ".gvimrc" */
  321.  
  322. /*
  323.  * USR_VIMRC_FILE    Name of the user .vimrc file.
  324.  * USR_VIMRC_FILE2    Name of alternate user .vimrc file.
  325.  */
  326. /* #define USR_VIMRC_FILE    "~/foo/.vimrc" */
  327. /* #define USR_VIMRC_FILE2    "~/bar/.vimrc" */
  328.  
  329. /*
  330.  * USR_EXRC_FILE    Name of the user .exrc file.
  331.  * USR_EXRC_FILE2    Name of the alternate user .exrc file.
  332.  */
  333. /* #define USR_EXRC_FILE    "~/foo/.exrc" */
  334. /* #define USR_EXRC_FILE2    "~/bar/.exrc" */
  335.  
  336. /*
  337.  * USR_GVIMRC_FILE    Name of the user .gvimrc file.
  338.  * USR_GVIMRC_FILE2    Name of the alternate user .gvimrc file.
  339.  */
  340. /* #define USR_GVIMRC_FILE    "~/foo/.gvimrc" */
  341. /* #define USR_GVIMRC_FILE2    "~/bar/.gvimrc" */
  342.  
  343. /*
  344.  * SYS_VIMRC_FILE    Name of the system-wide .vimrc file.
  345.  */
  346. /* #define SYS_VIMRC_FILE    "/etc/vimrc" */
  347.  
  348. /*
  349.  * SYS_GVIMRC_FILE    Name of the system-wide .gvimrc file.
  350.  */
  351. /* #define SYS_GVIMRC_FILE    "/etc/gvimrc" */
  352.  
  353. /*
  354.  * VIM_HLP        Name of the help file.
  355.  */
  356. /* #define VIM_HLP    "$VIM/doc/help.txt.gz" */
  357.  
  358. /*
  359.  * SYS_MENU_FILE    Name of the default menu.vim file.
  360.  */
  361. /* #define SYS_MENU_FILE    "/foo/menu.vim" */
  362.  
  363.  
  364. /*
  365.  * Machine dependent:
  366.  * ==================
  367.  */
  368.  
  369. /*
  370.  * +fork        Unix only.  When USE_SYSTEM defined: Use system()
  371.  * +system        instead of fork/exec for starting a shell.  Doesn't
  372.  *            work for the GUI!
  373.  */
  374. /* #define USE_SYSTEM */
  375.  
  376. /*
  377.  * +X11            Unix only.  When WANT_X11 defined: Include code for
  378.  *            xterm title saving. Only works if HAVE_X11 is also
  379.  *            defined.
  380.  */
  381. #ifndef MIN_FEAT
  382. # define WANT_X11
  383. #endif
  384.  
  385. /*
  386.  * +mouse_xterm        Unix only. When XTERM_MOUSE defined: Include code for
  387.  *            xterm mouse handling.
  388.  * +mouse_netterm    idem, NETTERM_MOUSE, for Netterm mouse handling.
  389.  * +mouse_dec        idem, DEC_MOUSE, for Dec mouse handling.
  390.  * (none)        MS-DOS mouse support.
  391.  * +mouse        Any mouse support (any of the above enabled).
  392.  */
  393. #ifndef MIN_FEAT
  394. # define XTERM_MOUSE
  395. #endif
  396. #ifdef MAX_FEAT
  397. # define NETTERM_MOUSE
  398. #endif
  399. #ifdef MAX_FEAT
  400. # define DEC_MOUSE
  401. #endif
  402. #ifndef MIN_FEAT
  403. # define DOS_MOUSE
  404. #endif
  405.  
  406. /*
  407.  * +GUI_Athena        To compile Vim with or without the GUI (gvim) you have
  408.  * +GUI_BeOS        to edit Makefile.
  409.  * +GUI_Motif
  410.  */
  411.  
  412. /*
  413.  * +ole            Win32 OLE automation: Use if_ole_vc.mak.
  414.  */
  415.  
  416. /*
  417.  * +perl        Perl interface: edit the Makefile.
  418.  */
  419.  
  420. /*
  421.  * +python        Python interface: edit the Makefile.
  422.  */
  423.  
  424. /*
  425.  * +terminfo        (Automatically) defined in the Makefile.
  426.  */
  427.  
  428. /*
  429.  * +tgetent        (Automatically) defined in the Makefile.
  430.  */
  431.  
  432. /*
  433.  * +ARP            Amiga only. When defined: Do not use arp.library, DOS
  434.  *            2.0 required.
  435.  */
  436. /* #define NO_ARP */
  437.